Skip to content

Conversation

kylebarron
Copy link
Member

@kylebarron kylebarron commented Oct 14, 2025

Change list

  • Adds definitions for map "controls" (which deck.gl calls "widgets", but the name "widget" is too overloaded in the context of Jupyter, so I'd like to call them "controls")
  • Support for ScaleControl, NavigationControl, FullscreenControl
  • These controls are supported by both deck.gl and maplibre, and so implementations are defined for creating both the deck.gl and maplibre counterparts

Example

from lonboard import Map
from lonboard.controls import ScaleControl, FullscreenControl, NavigationControl
from lonboard.basemap import MaplibreBasemap

m = Map([], 
    basemap=MaplibreBasemap(mode="overlaid"),
    controls=[ScaleControl(), FullscreenControl(), NavigationControl()]
)
m
image

We should probably change the default positioning of controls, move the bbox selector, or make the bbox selector a control itself.


However, for deck.gl-driven rendering, I can only see the scale control:
image

Todo list

Closes #842, relevant to #681

@github-actions github-actions bot added the feat label Oct 14, 2025
Base automatically changed from kyle/split-renderers2 to main October 14, 2025 18:43
@kylebarron kylebarron added this to the 0.13 milestone Oct 22, 2025
@kylebarron kylebarron marked this pull request as ready for review October 22, 2025 03:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fullscreen

1 participant